import { createStore, createLogger } from 'vuex'
// 本地持久化插件
import createPersistedState from 'vuex-persistedstate'
// 导入子模块
import user from './modules/user'
import cart from './modules/cart'
import category from './modules/category'

// vue3创建store实例，使用createStore()
export default createStore({
  // strict: true, // 开启严格模式
  // 定义data变量
  state: {
  },
  // 修改定义的data变量（同步）
  mutations: {
  },
  // 后台请求（异步）
  actions: {
  },
  // 模块化
  modules: {
    user,
    cart,
    category
  },
  /**
   * vuex-persistedstate插件使用说明：
   * 1. 默认集成之后存储所有数据
   * 2. 可以通过配置指定存储的key和存储哪些数据=》{ key: 'rabbit-131', paths: ['user', 'cart'] }
   */
  plugins: [createPersistedState({ key: 'rabbit-131', paths: ['user', 'cart'] }), createLogger()]
})
